package com.cdtye.shuoh.domain.rule.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cdtye.common.mybatiscore.base.BaseEntity;
import com.cdtye.common.webcore.util.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.Map;

/**
 * 告警列表
 * @author 
 * @date 2023-03-03
 */
@ApiModel("告警列表")
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("IOT_RULE_ALARM_LIST")
public class RuleAlarmList extends BaseEntity {
    
    @ApiModelProperty(value = "告警名称")
    private String alarmName;

    @ApiModelProperty(value = "告警时间")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date alarmTime;

    @ApiModelProperty(value = "告警设备标识")
    private String deviceIdentification;

    @ApiModelProperty(value = "告警通道标识")
    private String channelId;

    @ApiModelProperty(value = "告警描述")
    private String alarmDescribe;

    @ApiModelProperty(value = "报警级别")
    private String priority;

    @ApiModelProperty(value = "告警内容")
    private String alarmData;

    @ApiModelProperty(value = "处理结果")
    private String processingResult;

    @ApiModelProperty(value = "处理意见")
    private String processingOpinions;

    @ApiModelProperty(value = "处理人")
    private String processingPeople;

    @ApiModelProperty(value = "规则标识")
    private String ruleIdentification;

    @ApiModelProperty(value = "处理事件")
    @DateTimeFormat(pattern = DateUtil.DATETIME_FORMAT)
    @JSONField(format = DateUtil.DATETIME_FORMAT)
    private Date processingTime;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "逻辑删除")
    private String delFlag;

    @TableField(exist = false)
    private Map<String,Object> dataMap;


}